package com.chinacoal.microservice.service;

import com.chinacoal.microservice.pojo.*;
import com.chinacoal.microservice.util.QueryCriteria;
import com.chinacoal.microservice.util.Result;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @author zhuliang
 * @version V1.0
 * @Description: 微信公众号-后端实现接口类
 * @date 2020-12-23 10：16
 */
public interface WechatOfficialAccountService {

    Result<List<CcmsSmartleasingContract>> getRoomByWechat(String token);

    Result<List<CcmsSmartleasingWorkOrder>> getWorkOrderListByWechat(String token);

    Result<CcmsSmartleasingTenant> workOrderEcho(String token);

    Result addWorkOrder(String token, CcmsSmartleasingWorkOrder workOrder);

    Result updateTenantByWechat(String token, CcmsSmartleasingTenant tenant);

    Result<List<CcmsSmartleasingExpenseManag>> getAllExpenseManagByWechat(String token, QueryCriteria queryCriteria);

    Result<List<CcmsSmartleasingExpenseManag>> getUnpaidFeesInformationByWechat(String token);

    Result<CcmsSmartleasingNotice> getNoticeById(String fkExpenseManagId, String token, Integer type);

    Result wechatPreOrder(String token, String pkNoticeId, String sandBoxXml);

    Result getPayNotify(HttpServletRequest request, HttpServletResponse response);

    Result checkPaymentResult(String token, String pkNoticeId, String checkingOrderXml);

    Result<List<CcmsSmartleasingRoom>> getAllRoom(QueryCriteria queryCriteria);

    Result<List<CcmsSmartleasingRoom>> getWechatRoomByCondition(QueryCriteria queryCriteria);

    Result getWechatRoomById(String pkRoomId);

    Result changePassword(CcmsSmartleasingTenant tenant);

    Result addInvoicePicture(String imgUrl, String pdfUrl, String pkInvoiceRecordId);

    Result getWeChatJspiPayData(String xmlStr, String orderNo, String pkNoticeId);
}
